1. Field of the Invention
The present invention relates to computers and, more specifically, to a method for high speed data communications.
2. Description of the Prior Art
Computers communicate using either serial data transmission or parallel data transmission. In serial data transmission, individual bits of data are transferred over a wire, one at a time. Parallel data transmission occurs when several bits are transmitted simultaneously, each along its own separate channel. If eight bits represent a data word being transmitted, then there must be at least eight distinct channels between the sender and receiver, plus as many additional channels as are required for control information. Although parallel transmission is universal within the computer for high speed data transfers on various buses, it is rare in environments outside that of the internal computer structure and connections between the computer ands close peripherals.
In parallel transmission all the bits in a data word are transmitted along separate channels simultaneously. However, due to natural aberrations in the structure of each line (e.g. resistance), the signals do not arrive at the receiver at the same time. This problem is known as “skew,” which increases in severity as the distance between sender and receiver grows larger. The difficulties encountered when implementing parallel transmission over long distances can be eliminated by using serial data transmission. The source of the problems in parallel transfers is the use of multiple lines to transmit data bits simultaneously. However, with the serial approach this does not occur as just a single line is used and the bits, comprising a data word, are sent one bit at a time. Serial transmission offers several advantages, including a savings in cost——only one data channel is needed instead of several—and the problem of skewing does not arise.
One major difficulty in data transmission is that of synchronizing the receiver with the sender. This is particularly true in serial data transfer, where the receiver must be able to detect the beginning of each new character in the bit stream being presented to it. If the receiver is unable to achieve this, it will not be able to interpret the incoming bit stream correctly. Two approaches are used to solve the problem of synchronisation: asynchronous transmission and synchronous transmission.
Using the asynchronous transmission approach, synchronisation is implemented at character level and each individual character is transmitted along with the necessary control information to allow this to take place. The control information consists of additional bits added to each character: “start bits” that indicate that transmission is about to commence, and “stop bits” that indicate that transmission is about to cease. Asynchronous transmission has several advantages. For example, each individual character is complete in itself. If a character is corrupted during transmission, its successor and predecessor will be unaffected. However, a high proportion of the transmitted bits are used uniquely for control purposes and thus carry no useful information. Also, because of distortion, the speed of transmission is limited. Therefore, asynchronous serial transmission is normally used only for transmission speeds of up to 3000 bits per second, with only simple, single-character error detection.
The synchronous transmission approach again transmits the message via a single channel. However, in this instance there is no control information associated with individual characters. Instead, the characters are grouped together in blocks of some fixed size and each block transmitted is preceded by one or more special synchronisation characters, which can be recognized by the receiver. With the synchronous approach, the amount of central information that must be transmitted is restricted to only a few characters at the start of each block. The system is not so prone to distortion as asynchronous communication and can thus be used at higher speeds. Therefore, serial synchronous transmission is principally used for high-speed communication between computers.
Many computers communicate with other computers using parallel data transmission protocols. Wired parallel data busses have a limited length over which the data can be transmitted. However, modem computer communications often require computers to communicate over ever increasing distances. One approach to allowing longer distance communications is to convert parallel data to a serial data stream, that is then transmitted over an optical transmission channel. However, serializing parallel data and then transmitting it over a serial optical transmission channel may limit the data transfer rate if the serial optical transmission channel lacks sufficient bandwidth to transmit all of the parallel data at a rate as fast as the data transmission on the parallel data busses.
Therefore, there is a need for a parallel-to-serial-to-parallel data transmission system that employs more than one serial data channel to transmit data.